﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DBService;


public partial class Register : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["UserID"] == null)
        {
            Script.Text = "<script>alert('კომპანიის დამატებას შეძლებთ მას შემდეგ რაც გაივლით ავტორიზაციას'); window.location='" + Master.FacebookLoginLink + "'</script>";
            return;
        }
        if (!IsPostBack)
        {
            var cats = new ModelAdapter().GetCategoreis(null);
            foreach (var cat in cats)
            {
                LitCategoryOption.Text += "<option value=\"" + cat.CategoryID + "\">" + cat.Title + "</option>";
            }
        }
    }

    public int GeneratePassword()
    {
        Random random = new Random();
        return random.Next(0, int.MaxValue);
    }

    protected void OnSubmit(object sender, EventArgs e)
    {
        try
        {
            var Password = GeneratePassword();
            SendMailHelper sendMail = new SendMailHelper();
            List<int> categories = new List<int>();
            if (!String.IsNullOrEmpty(HidnField.Value))
            {
                foreach (var cat in HidnField.Value.Split('|'))
                {
                    if (!String.IsNullOrEmpty(cat))
                    {
                        categories.Add(int.Parse(cat));
                    }
                }
            }

            ModelAdapter ma = new ModelAdapter();
            string img = "";
            if (AvatarIMG.HasFile && new string[] { ".gif", ".png", ".jpeg", ".jpg" }.Contains(System.IO.Path.GetExtension(AvatarIMG.FileName).ToLower()))
            {
                img = Guid.NewGuid().ToString().Substring(0, 10) + System.IO.Path.GetFileName(AvatarIMG.FileName);
                AvatarIMG.SaveAs(Server.MapPath("upload") + "\\" + img);
            }
            var userID = ma.UserAction(null,
                  img,
                  Name.Value,
                  LastName.Value,
                  Email.Value,
                  Password.ToString(),
                  MaleRad.Checked,
                  int.Parse(DaySelect.Value),
                  int.Parse(MonthSelect.Value),
                  int.Parse(YearSelect.Value),
                  categories,
                  1);

            // TODO თუ სურათი აქვს და არ ჯდება ნორმებში ჩაწერე სესიაში სურათის სახელი და გაუხსენი პოპაპი.
            // 
            if (AvatarIMG.HasFile)
            {
                Script.Text = "<script>window.open('addimages.aspx?id= + " + userID + "', 'სურათის ამოჭრა')</script>";
            }
            else
            {
                Script.Text = "<script>alert('თქვენ წარმატებით დარეგისტრირდით!'); window.location = 'default.aspx';</script>";
            }
            sendMail.Send("Password", "Office@revio.ge", Email.Value, "თქვენი პაროლია:" + Password + ";რეკომენდირებულია შეხვიდეთ ამ ლინკზე და შეცვალოთ პაროლი:" + "http://revio.ge/EditUserProfile.aspx?id=" + userID);
        }
        catch (Exception ex)
        {
            Script.Text = "<script>alert('დაფიქსირდა შეცდომა, გთხოვთ სცადოთ თავიდან')</script>";
        }
    }
}